Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Bases de datos (página 2)




Enviado por zósimo



Partes: 1, 2

En los SGBD que tienen la arquitectura de varios niveles
es necesario ampliar el catálogo o diccionario, de modo
que incluya información sobre cómo establecer la
correspondencia entre las peticiones de los usuarios y los datos,
entre los diversos niveles. El SGBD utiliza una serie de
procedimientos adicionales para realizar estas correspondencias
haciendo referencia a la información de correspondencia
que se encuentra en el catálogo. La independencia de datos
se consigue porque al modificarse el esquema en algún
nivel, el esquema del nivel inmediato superior permanece sin
cambios, sólo se modifica la correspondencia entre los dos
niveles. No es preciso modificar los programas de
aplicación que hacen referencia al esquema del nivel
superior.

Por lo tanto, la arquitectura de tres niveles puede
facilitar la obtención de la verdadera independencia de
datos, tanto física como lógica. Sin embargo, los
dos niveles de correspondencia implican un gasto extra durante la
ejecución de una consulta o de un programa, lo cual reduce
la eficiencia del SGBD. Es por esto que muy pocos SGBD han
implementado esta arquitectura completa.

Sistema
cliente-servidor

Un sistema de computación que se compone de dos
partes lógicas: un servidor, que proporciona servicios y
un cliente, lo que les pide. Las dos partes se pueden
ejecutar en máquinas separadas en una red, permitiendo a
los usuarios acceso al servidor poderosos recursos de sus
computadoras personales Los sistemas cliente-servidor no se
limitan a los ordenadores tradicionales. Un ejemplo es un
sistema automatizado de cajero máquina
(ATM). Los clientes suelen utilizar los cajeros
automáticos como clientes a la interfaz a un servidor que
gestiona todas las cuentas de un banco. Este servidor puede
a su vez con los servidores de otros bancos (por ejemplo, al
retirar el dinero en un banco en el que el usuario no tiene una
cuenta). Los cajeros automáticos proporcionan una
interfaz de usuario y los servidores de prestación de
servicios, tales como la comprobación de saldos de cuentas
y transferir dinero entre cuentas.

Para facilitar el acceso a servidores no se ejecutan en
la misma máquina que el cliente, el
middleware se utiliza generalmente. Middleware sirve
como la conexión en red entre los componentes de un
sistema cliente-servidor, sino que se debe ejecutar en el cliente
y el servidor. Se proporciona todo lo necesario para obtener una
solicitud de un cliente a un servidor y recibir la respuesta del
servidor al cliente. Middleware menudo facilita la
comunicación entre los diferentes tipos de sistemas
informáticos. Esta comunicación se hace la
cruz-plataforma de computación cliente-servidor y permite
que muchos tipos de clientes para acceder a los mismos
datos.

La parte de servidor casi siempre contiene los datos y
el cliente es casi siempre responsable de la interfaz de
usuario. La lógica de la aplicación, que
determina cómo los datos deben ponerse en práctica,
se pueden distribuir entre el cliente y el servidor. La
parte de un sistema con una cantidad desproporcionadamente grande
de la lógica de aplicación que se llama "gordo", un
"fino" parte de un sistema es una parte con menos responsabilidad
que le sean delegadas. servidor de los sistemas de grasa, tales
como trabajo en grupo de sistemas y servidores web,
delegar más responsabilidad por la lógica de la
aplicación en el servidor, mientras que los sistemas
cliente de grasa, como la mayoría de sistemas de bases de
datos, el lugar más responsabilidad en el
cliente. 

El modelo canónico del servidor de cliente asume
dos participantes en el sistema. Esto se llama un sistema de
dos niveles, la lógica de la aplicación debe estar
en el cliente o el servidor, o compartida entre los
dos. También es posible tener la lógica de la
aplicación reside en una tercera capa separada de la
interfaz de usuario y los datos, convirtiendo el sistema en un
sistema de tres niveles. La separación total es poco
común en los sistemas reales, por lo general la mayor
parte de la lógica de la aplicación es en el nivel
intermedio, pero porciones selectas de la misma, son
responsabilidad del cliente o el servidor.

El modelo de tres niveles es más flexible que el
modelo de dos niveles debido a la separación de la
lógica de la aplicación desde el cliente y el
servidor da lógica de la aplicación procesa un
nuevo nivel de autonomía. Los procesos se hacen
más sólidas, ya que pueden funcionar
independientemente de los clientes y servidores. Por otra
parte, la disociación de la lógica de la
aplicación de los datos permite que los datos de
múltiples fuentes para su uso en una sola
transacción sin una ruptura en el modelo
cliente-servidor. Este avance en la arquitectura
cliente-servidor es responsable en gran medida el concepto de
datos distribuidos. 

Norma aplicaciones web son los ejemplos más
comunes de los sistemas de tres niveles. El primer nivel es
la interfaz de usuario, siempre a través de la
interpretación de Hyper Text Markup Language (HTML)
mediante un navegador web. Los componentes integrados que se
muestra en el navegador residen en el nivel intermedio, y
proporcionar la lógica de la
aplicacióncorrespondiente al sistema. El
último nivel está los datos de un servidor
web. Muy a menudo se trata de un sistema de base de datos de
estilo, pero podría ser una de almacén de
depósito o groupware sistema de datos. 

3.- Arquitectura Cliente/Servidor

  • Características funcionales

  • Características
    físicas

  • Características lógicas

  • Ventajas e inconvenientes

  • Fases de implantación

  • Criterios de utilización

Con la proliferación de ordenadores personales de
bajo coste en el mercado, los recursos de sistemas de
información existentes en cualquier organización se
pueden distribuir entre ordenadores de diferentes tipos:
ordenadores personales de gama baja, media y alta, estaciones de
trabajo, miniordenadores o incluso grandes
ordenadores.

El concepto de cliente/servidor proporciona
una forma eficiente de utilizar todos estos recursos de
máquina de tal forma que la seguridad y fiabilidad que
proporcionan los entornos mainframe se traspasa a la
red de área local. A esto hay que añadir la ventaja
de la potencia y simplicidad de los ordenadores
personales.

La arquitectura cliente/servidor es un modelo
para el desarrollo de sistemas de información en el que
las transacciones se dividen en procesos independientes que
cooperan entre sí para intercambiar información,
servicios o recursos. Se denomina cliente al proceso que inicia
el diálogo o solicita los recursos y servidor al proceso
que responde a las solicitudes.

En este modelo las aplicaciones se dividen de forma que
el servidor contiene la parte que debe ser compartida por varios
usuarios, y en el cliente permanece sólo lo particular de
cada usuario.

Los clientes realizan generalmente funciones
como:

  • Manejo de la interfaz de usuario.

  • Captura y validación de los datos de
    entrada.

  • Generación de consultas e informes sobre las
    bases de datos.

  • Por su parte los servidores realizan, entre otras,
    las siguientes funciones:

  • Gestión de periféricos
    compartidos.

  • Control de accesos concurrentes a bases de datos
    compartidas.

  • Enlaces de comunicaciones con otras redes de
    área local o extensa.

Siempre que un cliente requiere un servicio lo solicita
al servidor correspondiente y éste le responde
proporcionándolo. Normalmente, pero no necesariamente, el
cliente y el servidor están ubicados en distintos
procesadores. Los clientes se suelen situar en ordenadores
personales y/o estaciones de trabajo y los servidores en
procesadores departamentales o de grupo.

Entre las principales características de la
arquitectura cliente/servidor se pueden destacar las
siguientes:

  • El servidor presenta a todos sus clientes una
    interfaz única y bien definida.

  • El cliente no necesita conocer la lógica del
    servidor, sólo su interfaz externa.

  • El cliente no depende de la ubicación
    física del servidor, ni del tipo de equipo
    físico en el que se encuentra, ni de su sistema
    operativo.

  • Los cambios en el servidor implican pocos o
    ningún cambio en el cliente.

3.1.- Características
funcionales

Esta arquitectura se puede clasificar en cinco niveles,
según las funciones que asumen el cliente y el servidor,
tal y como se puede ver en el siguiente diagrama:

Monografias.com

En el primer nivel el cliente asume parte de las
funciones de presentación de la aplicación, ya que
siguen existiendo programas en el servidor dedicados a esta
tarea. Dicha distribución se realiza mediante el uso de
productos para el "maquillaje" de las pantallas del mainframe.
Esta técnica no exige el cambio en las aplicaciones
orientadas a terminales, pero dificulta su mantenimiento.
Además, el servidor ejecuta todos los procesos y almacena
la totalidad de los datos. En este caso se dice que hay una
presentación distribuida o embellecimiento.

En el segundo nivel la aplicación está
soportada directamente por el servidor, excepto la
presentación que es totalmente remota y reside en el
cliente. Los terminales del cliente soportan la captura de datos,
incluyendo una validación parcial de los mismos y una
presentación de las consultas. En este caso se dice que
hay una presentación remota.

En el tercer nivel la lógica de los procesos se
divide entre los distintos componentes del cliente y del
servidor. El diseñador de la aplicación debe
definir los servicios y las interfaces del sistema de
información de forma que los papeles de cliente y servidor
sean intercambiables, excepto en el control de los datos que es
responsabilidad exclusiva del servidor. En este tipo de
situaciones se dice que hay un proceso distribuido o
cooperativo.

En el cuarto nivel el cliente realiza tanto las
funciones de presentación como los procesos. Por su parte,
el servidor almacena y gestiona los datos que permanecen en una
base de datos centralizada. En esta situación se dice que
hay una gestión de datos remota.

En el quinto y último nivel, el reparto de tareas
es como en el anterior y además el gestor de base de datos
divide sus componentes entre el cliente y el servidor. Las
interfaces entre ambos están dentro de las funciones del
gestor de datos y, por lo tanto, no tienen impacto en el
desarrollo de las aplicaciones. En este nivel se da lo que se
conoce como bases de datos distribuidas.

3.2.- Características
físicas

El diagrama del punto anterior da una idea de la
estructura física de conexión entre las distintas
partes que componen una arquitectura cliente / servidor. La idea
principal consiste en aprovechar la potencia de los ordenadores
personales para realizar sobre todo los servicios de
presentación y, según el nivel, algunos procesos o
incluso algún acceso a datos locales. De esta forma se
descarga al servidor de ciertas tareas para que pueda realizar
otras más rápidamente.

También existe una plataforma de servidores que
sustituye al ordenador central tradicional y que da servicio a
los clientes autorizados. Incluso a veces el antiguo ordenador
central se integra en dicha plataforma como un servidor
más. Estos servidores suelen estar especializados por
funciones (seguridad, cálculo, bases de datos,
comunicaciones, etc.), aunque, dependiendo de las dimensiones de
la instalación se pueden reunir en un servidor una o
varias de estas funciones.

Monografias.com

Las unidades de almacenamiento masivo en esta
arquitectura se caracterizan por incorporar elementos de
protección que evitan la pérdida de datos y
permiten multitud de accesos simultáneos (alta velocidad,
niveles RAID, etc.).

Para la comunicación de todos estos elementos se
emplea un sistema de red que se encarga de transmitir la
información entre clientes y servidores.
Físicamente consiste en un cableado (coaxial, par
trenzado, fibra óptica, etc.) o en conexiones mediante
señales de radio o infrarrojas, dependiendo de que la red
sea local (RAL), metropolitana (MAN) o de área extensa
(WAN).

Para la comunicación de los procesos con la red
se emplea un tipo de equipo lógico
denominado middleware que controla las
conversaciones. Su función es independizar ambos procesos
(cliente y servidor). La interfaz que presenta es la
estándar de los servicios de red que hace que los procesos
"piensen" en todo momento que se están comunicando con un
red.

3.3.- Características
lógicas

Una de las principales aportaciones de esta arquitectura
a los sistemas de información es la interfaz
gráfica de usuario. Gracias a ella se dispone de un manejo
más fácil e intuitivo de las aplicaciones mediante
el uso de un dispositivo tipo ratón. En esta arquitectura
los datos se presentan, editan y validan en la parte de la
aplicación cliente.

En cuanto a los datos, cabe señalar que en la
arquitectura cliente/servidor se evitan las
duplicidades (copias y comparaciones de datos), teniendo siempre
una imagen única y correcta de los mismos disponible en
línea para su uso inmediato.

Todo esto tiene como fin que el usuario de un sistema de
información soportado por una
arquitectura cliente/servidor trabaje desde su
estación de trabajo con distintos datos y aplicaciones,
sin importarle dónde están o dónde se
ejecuta cada uno de ellos.

3.4.- Ventajas e inconvenientes

Ventajas

  • Aumento de la productividad:

  • Los usuarios pueden utilizar herramientas que le son
    familiares, como hojas de cálculo y herramientas de
    acceso a bases de datos.

  • Mediante la integración de las
    aplicaciones cliente/servidor con las aplicaciones
    personales de uso habitual, los usuarios pueden construir
    soluciones particularizadas que se ajusten a sus necesidades
    cambiantes.

  • Una interfaz gráfica de usuario consistente
    reduce el tiempo de aprendizaje de las
    aplicaciones.

  • Menores costes de operación:

  • Permiten un mejor aprovechamiento de los sistemas
    existentes, protegiendo la inversión. Por ejemplo, la
    compartición de servidores (habitualmente caros) y
    dispositivos periféricos (como impresoras) entre
    máquinas clientes permite un mejor rendimiento del
    conjunto.

  • Proporcionan un mejor acceso a los datos. La
    interfaz de usuario ofrece una forma homogénea de ver
    el sistema, independientemente de los cambios o
    actualizaciones que se produzcan en él y de la
    ubicación de la información.

  • El movimiento de funciones desde un ordenador
    central hacia servidores o clientes locales origina el
    desplazamiento de los costes de ese proceso hacia
    máquinas más pequeñas y por tanto,
    más baratas.

  • Mejora en el rendimiento de la red:

  • Las
    arquitecturas cliente/servidor eliminan la
    necesidad de mover grandes bloques de información por
    la red hacia los ordenadores personales o estaciones de
    trabajo para su proceso. Los servidores controlan los datos,
    procesan peticiones y después transfieren sólo
    los datos requeridos a la máquina cliente. Entonces,
    la máquina cliente presenta los datos al usuario
    mediante interfaces amigables. Todo esto reduce el
    tráfico de la red, lo que facilita que pueda soportar
    un mayor número de usuarios.

  • Tanto el cliente como el servidor pueden escalarse
    para ajustarse a las necesidades de las aplicaciones. Las
    UCPs utilizadas en los respectivos equipos pueden
    dimensionarse a partir de las aplicaciones y el tiempo de
    respuesta que se requiera.

  • La existencia de varias UCPs proporciona una red
    más fiable: un fallo en uno de los equipos no
    significa necesariamente que el sistema deje de
    funcionar.

  • En una arquitectura como ésta, los clientes y
    los servidores son independientes los unos de los otros con
    lo que pueden renovarse para aumentar sus funciones y
    capacidad de forma independiente, sin afectar al resto del
    sistema.

  • La arquitectura modular de los
    sistemas cliente/servidor permite el uso de
    ordenadores especializados (servidores de base de datos,
    servidores de ficheros, estaciones de trabajo para CAD,
    etc.).

  • Permite centralizar el control de sistemas que
    estaban descentralizados, como por ejemplo la gestión
    de los ordenadores personales que antes estuvieran
    aislados.

Inconvenientes

  • Hay una alta complejidad tecnológica al tener
    que integrar una gran variedad de productos.

  • Requiere un fuerte rediseño de todos los
    elementos involucrados en los sistemas de información
    (modelos de datos, procesos, interfaces, comunicaciones,
    almacenamiento de datos, etc.). Además, en la
    actualidad existen pocas herramientas que ayuden a determinar
    la mejor forma de dividir las aplicaciones entre la parte
    cliente y la parte servidor.

  • Es más difícil asegurar un elevado
    grado de seguridad en una red de clientes y servidores que en
    un sistema con un único ordenador
    centralizado.

  • A veces, los problemas de congestión de la
    red pueden degradar el rendimiento del sistema por debajo de
    lo que se obtendría con una única
    máquina (arquitectura centralizada). También la
    interfaz gráfica de usuario puede a veces ralentizar
    el funcionamiento de la aplicación.

  • El quinto nivel de esta arquitectura (bases de datos
    distribuidas) es técnicamente muy complejo y en la
    actualidad hay muy pocas implantaciones que garanticen un
    funcionamiento totalmente eficiente.

3.5.- Fases de implantación

Una arquitectura cliente/servidor debe mostrar
los sistemas de información no como un cliente que accede
a un servidor corporativo, sino como un entorno que ofrece acceso
a una colección de servicios. Para llegar a este estado
pueden distinguirse las siguientes fases de evolución del
sistema:

  • Fase de Iniciación

Esta etapa se centra sobre todo en la
distribución física de los componentes entre
plataformas. Los dos tipos de plataforma son:

  • Una plataforma cliente para la presentación
    (generalmente un ordenador personal de sobremesa).

  • Una plataforma servidora (como por ejemplo el
    servidor de una base de datos relacional) para la
    ejecución de procesos y la gestión de los
    datos.

Un ejemplo sería el de una herramienta de
consulta que reside en un ordenador personal a modo de cliente y
que genera peticiones de datos que van a través de la red
hasta el servidor de base de datos. Estas peticiones se procesan,
dando como resultado un conjunto de datos que se devuelven al
cliente.

En esta fase pueden surgir los siguientes
problemas:

  • Cómo repartir la lógica de la
    aplicación entre las plataformas cliente y servidor de
    la forma más conveniente.

  • Cómo gestionar la arquitectura para que
    permita que cualquier cliente se conecte con cualquier
    servidor.

  • Fase de Proliferación

La segunda etapa de una
arquitectura cliente/servidor se caracteriza por la
proliferación de plataformas clientes y servidoras. Ahora,
el entorno para la interacción entre clientes y servidores
se hace mucho más complejo. Puede hacerse una
distinción entre:

  • Datos de servidores a los que se accede a
    través de una red de área extensa (WAN)
    y

  • Datos a los que se accede a través de una red
    de área local (RAL).

Los mecanismos de conexión son muy variados y
suelen ser incompatibles.

En esta fase los problemas que se pueden plantear
son:

  • La gestión de accesos se convierte en
    crítica y compleja debido a la estructura del
    organismo donde se está implantando la arquitectura.
    El mercado ofrece algunas soluciones que mejoran la
    interoperabilidad y que se basan en conexiones modulares que
    utilizan entre otros:

  • Drivers en la parte cliente

  • Pasarelas (gateways) a bases de
    datos

  • Especificaciones de
    protocolos cliente/servidor, etc.

  • Los requisitos de actualización de datos
    pasan a formar parte de los requisitos solicitados al
    sistema cliente/servidor. Ahora no sólo se
    consultan datos, sino que se envían peticiones para
    actualizar, insertar y borrar datos.

  • Fase de Control

En esta fase se consolidan los caminos de acceso desde
una plataforma cliente particular a una plataforma servidora
particular.

Los conceptos en los que se debe poner especial
énfasis son los siguientes:

  • Transparencia en la localización. Significa
    que la aplicación cliente no necesita saber nada
    acerca de la localización (física o
    lógica) de los datos o los procesos. La
    localización de los recursos debe estar gestionada por
    servidores y estar representada en las plataformas adecuadas
    de forma que se facilite su uso por parte de las plataformas
    cliente.

  • Gestión de copias. El sistema se debe
    configurar de forma que se permita copiar la
    información (datos o procesos) de los
    servidores.

  • Especialización de los equipos servidores en
    servidores de bases de datos o en servidores de aplicaciones.
    Los servidores de bases de datos continúan ofreciendo
    servicios orientados a datos a través de
    llamadas SQL o a través de procedimientos
    almacenados. En cualquier caso, los servicios se orientan a
    mantener la integridad de los datos. Por otro lado, los
    servidores de aplicaciones se centran en los procesos
    implementando partes de la lógica de la
    aplicación en la parte servidora.

  • Fase de Integración

Esta etapa se caracteriza por el papel conjunto que
juegan la gestión de accesos, la gestión de copias
y la gestión de recursos. La gestión de la
información se debe realizar de forma que se pueda
entregar la información controlada por los servidores que
contienen los datos a las plataformas clientes que los requieran.
El concepto en que se basa este tipo de gestión es la
distinción entre dos tipos de datos: datos de
operación y datos de información. Para ajustarse a
los posibles cambios en los procesos, los datos de
operación varían continuamente mientras que los
datos de información son invariables porque son de
naturaleza histórica y se obtienen tomando muestras en el
tiempo de los datos de operación.

  • Fase de Madurez

Esta es la etapa final de una
arquitectura cliente/servidor. Se caracteriza por una
visión más flexible de las plataformas
físicas del sistema que se contemplan como una
única unidad lógica. Este estado también se
caracteriza porque la tecnología cliente/servidor se ha
generalizado en la empresa. Ya no es un problema saber qué
componentes se distribuyen en qué plataformas, porque los
recursos se pueden redistribuir para equilibrar la carga de
trabajo y para compartir los recursos de información. Lo
fundamental aquí es saber quién ofrece qué
servicios. Para ello es necesario distinguir qué tipo de
servicios y recursos se demandan y conocer las
características de esta arquitectura basada en
servicios.

En la fase de integración veíamos que se
establecía una distinción entre datos de
operación y datos de información histórica.
Por contra, en un entorno de operación cliente/servidor
que se encuentre en la fase de madurez, lo interesante es
distinguir entre dos nuevos términos: organismo y grupo de
trabajo. Esta distinción se establece basándose en
sus diferencias organizativas. El grupo de trabajo es el entorno
en el que grupos organizados de personas se centran en tareas
específicas de la actividad del organismo al que
pertenecen. Estos equipos de personas requieren una
información propia y unas reglas de trabajo particulares,
que pueden ser diferentes de las del organismo en su
globalidad.

Una arquitectura basada en servicios es la que se
contempla como una colección de consumidores de servicios
poco relacionados entre sí y los productores de dichos
servicios. La utilización de este tipo de arquitectura
permite pensar en nuevos retos de diseño:

  • Desarrollo de componentes reutilizables entre
    distintas aplicaciones y distintos grupos de
    trabajo

  • Desarrollo de aplicaciones distribuidas

  • Gestión del desarrollo de aplicaciones entre
    distintos equipos, etc.

3.6.- Criterios de utilización

El mercado de los
sistemas cliente/servidor está marcando nuevos
caminos porque:

  • La información puede ahora residir en redes
    de ordenadores personales.

  • Los usuarios pueden tener un mayor acceso a los
    datos y a la capacidad de proceso.

El marketing también juega un papel importante.
Muchos sistemas que se denominan cliente/servidor en
realidad distan bastante de serlo y muchas aplicaciones aseguran
ser tan fiables como sus homólogas en
el host.

En realidad, el cambio hacia tecnologías
cliente/servidor está aún en sus comienzos, pero de
ninguna manera debe ignorarse.

La forma de asegurar la futura utilización
productiva de sistemas cliente/servidor, asumiendo un bajo
riesgo, debe considerar:

  • Comenzar por el downsizing: utilizar
    redes de área local y familiarizar a los usuarios con
    el uso de ordenadores personales.

  • Estudiar las herramientas cliente/servidor que se
    encuentren disponibles y aquellas que se encuentren en fase
    de desarrollo; la mayoría están basadas en
    algún sistema de gestión de base de datos en
    red local.

  • Permitir el acceso de los usuarios a los datos de la
    organización conectando las redes locales entre
    sí.

  • Añadir interfaces de usuario amigables al
    equipo lógico del ordenador central y desarrollar
    prototipos.

Una organización tiene que decidir cuándo
y cómo debe migrar en su caso, hacia un entorno
cliente/servidor, teniendo en cuenta la evolución de las
herramientas cliente/servidor y desarrollando una estrategia que
se base en los estándares predominantes en el
mercado.

Sistemas
paralelos

La mayor parte de los sistemas hasta ahora han sido
sistemas monoprocesador; es decir han tenido una sola CPU. Sin
embargo, la tendencia actual es hacia los sistemas
multiprocesador. Tales sistemas tienen más de un
procesador en comunicación íntima, los cuales
comparten el bus del computador, el reloj y a veces la memoria y
los dispositivos periféricos. Decimos que estos sistemas
están fuertemente acoplados.

Hay varias razones para construir este tipo de sistemas.
Una ventaja es el aumento en el rendimiento. Al incrementar el
número de procesadores, esperamos realizar más
trabajo en un tiempo más corto. Sin embargo, la
proporción de aumento de la velocidad con n procesadores
no es n, sino más bien menor que n. Cuando varios
procesadores cooperan para llevar a cabo una tarea, se incurre en
cierto "gasto extra" para mantener todos los componentes
funcionando correctamente. Este gasto extra, aunado a la
contención por 105 recursos compartidos, reduce la
ganancia que cabría esperar de los procesadores
adicionales. De forma análoga, un grupo de n programadores
que trabajan en íntima colaboración no produce n
veces la cantidad de trabajo que realiza uno solo.

Los multiprocesadores también pueden ahorrar
dinero en comparación con varios sistemas monoprocesador
porque los procesadores pueden compartir periféricos,
gabinetes y fuentes de potencia. Si varios programas deben operar
con el mismo conjunto de datos, es más económico
guardar esos datos en un disco y hacer que todos los procesadores
los compartan, en vez de tener muchos computadores con discos
locales y hacer copias de los datos.

Otra razón para tener sistemas multiprocesador es
que mejoran la confiabilidad. Si es posible distribuir las
funciones correctamente entre varios procesadores, el
fa-lío de un procesador no detendrá el sistema,
sólo lo hará más lento. Si tenemos 10
procesadores y uno falla, cada uno de los nueve procesadores
restantes deberá asumir una porción del trabajo del
que falló. Asi el sistema operará al 90% de su
velocidad normal, en lugar de pararse. Esta capacidad para seguir
dando un servicio proporcional al nivel de hardware que sobrevive
se denomina degradación gradual. Los sistemas
diseñados para degradarse gradualmente también se
conocen como tolerantes a fallos
£ault-tolerant).

El funcionamiento continuado en presencia de ellos
requiere un mecanismo para detectar, diagnosticar y corregir (si
es posible) el fallo. FI sistema Tandem utiliza
duplicación tanto de hardware como de software para
asegurar una operación continuada a pesar de los fallos.
El sistema consiste en dos procesadores idénticos, cada
uno con su propia memoria local. Los procesadores se conectan con
un bus. Un procesador es el primario, y el otro es el de
?espaldo. Se mantienen dos copias de cada proceso; una en la
máquina primaria y otra en el respaldo. En puntos de
verificación (checkpoints) fijos durante la
ejecución del sistema, la información de estado de
cada trabajo (incluida una copia de la imagen de memoria> se
copia de la máquina primaria a la de respaldo. Si se
detecta un fallo, se activa la copia de respaldo, y se reinicia a
partir del punto de verificación más reciente. Esta
solución obviamente es costosa, ya que hay mucha
duplicación de hardware.

Los sistemas de múltiple procesador más
comunes en la actualidad siguen el modelo de multiprocesamiento
simétrico, en el que cada procesador ejecuta una copia
idéntica del sistema operativo, y estas copias se
comunican entre si cuando es necesario. Algunos sistemas utilizan
multiprocesamiento asimétrico, en el que a cada procesador
se asigna una tarea específica. Un procesador maestro
controla el sistema; los demás procesadores obtienen sus
instrucciones del maestro o bien tienen tareas predefinidas. Este
esquema define una relación maestro-esclavo. El procesador
maestro planifica y asigna trabajo a los procesadores
esclavos.

Un ejemplo de sistema con multiprocesamiento
simétrico es la versión Encore de UNIX para el
computador Multimax. Este computador puede configurarse de modo
que utilice docenas de procesadores, todos los cuales ejecutan
una copia de UNIX. La ventaja de este modelo es que muchos
procesos pueden ejecutarse simultáneamente (N procesos si
hay N CPU) sin que haya deterioro del desempeño. Sin
embargo, es preciso controlar cuidadosamente la E! 5 para
asegurar que los datos lleguen al procesador apropiado.
Además, dado que las CPU son independientes, una
podría estar ociosa mientras otra está
sobrecargada, con la consiguiente ineficiencia. A fin de evitar
esto, los procesadores pueden compartir ciertas estructuras de
datos. Un sistema multiprocesador de este tipo permite compartir
dinámicamente trabajos y recursos entre los distintos
procesadores, y puede reducir la varianza entre los sistemas. Por
otro lado, tales sistemas deben escribirse con mucho cuida-do,
como veremos en el capítulo 6.

El multiprocesamiento asimétrico es más
común en los sistemas extremadamente grandes, donde una de
las actividades que más tiempo consume es el procesamiento
de El 5. En los sistemas por lotes más antiguos, se
utilizaban procesadores pequeños, situados a cierta
distancia de la CPU principal7 para operar los lectores de
tarjetas e impresoras de líneas y transferir estos
trabajos a y de el computador principal. Estos puntos se
denominan sitios de entrada remota de trabajos (RJE,
remote-Job-entry). En un sistema de tiempo compartido, una de las
principales actividades de El 5 es procesar la El 5 de caracteres
entre las terminales y el computador Si es preciso interrumpir la
CPU principal cada vez que se transfiere un carácter a o
de una terminal, la CPU Podría pasar todo su tiempo
procesando caracteres. Para evitar esta situación, la
mayor parte de los sistemas cuenta con un procesador de extremo
frontal front-end) aparte que se encarga de toda la El 5 de
terminales. Por ejemplo, un sistema IBM grande Podría usar
un minicomputador IBM Series! 1 como front-end. El front-end
actua como buffer entre las terminales y la CPU principal, y
permite a esta última manejar líneas y Moques de
caracteres, en lugar de caracteres individuales. La confiabilidad
de tales sistemas se reduce a causa de su mayor
especialización.

Es importante darse cuenta de que la diferencia entre
multiprocesamiento simétrico y asimétrico puede
deberse al hardware o al software. Podría existir hardware
especial para diferenciar los múltiples procesadores, o
podría escribirse software que permita un solo maestro y
varios esclavos. Por ejemplo, el sistema operativo de Sun, SunOS
versión 4, ofrece multiprocesamiento asimétrico,
mientras que la versión 5 (Solaris 2) es
simétrica.

A medida que baja el precio y aumenta la potencia de los
microprocesadores, más y más funciones del sistema
operativo se delegan a procesadores esclavos, también
llamados back-ends o procesadores de servicio. Por ejemplo, es
fácil añadir un procesador con su propia memoria
para administrar un sistema de disco. El microprocesador
Podría recibir una secuencia de solicitudes de la CPU
principal e implementar su propia cola de disco y algoritmo de
planificación. Esta organización evita a la CPU
principal el trabajo extra que implica la planificación de
disco. Los PC contienen un microprocesador en el teclado que
convierte las digitaciones en códigos que se envían
a la CPU. De hecho, este uso de los microprocesadores se ha
vuelto tan común que ya no se considera como
multiprocesamiento.

Sistemas
distribuidos

  • Concepto, características y factores que han
    afectado un Sistema Distribuido.

  • Ventajas y Desventajas de Sistemas
    Distribuidos.

  • Categorías de los Sistemas
    Distribuidos.

  • Sistema Operativo Distribuido y sus
    características.

  • Complejidad y aspectos que intervienen en el
    diseño de un Sistema Operativo Distribuido.

  • Modelo de Construcción.

Concepto de Sistemas Distribuidos.Es un concepto
poco claro de definir. Colección de elementos de
cómputo autónomo que se encuentran
físicamente separados y no comparten una memoria
común, se comunican entre sí a través del
intercambio de mensajes utilizando un medio de
comunicación.

Los sistemas autónomos pueden tener
características no homogéneas.

Características de los Sistemas
Distribuidos
.

  •  Cada elemento de computo tiene su propia
    memoria y su propio Sistema Operativo.

  •  Control de recursos locales y
    remotos.

  •  Sistemas Abiertos (Facilidades de cambio y
    crecimiento).

  •  Plataforma no standard ( Unix, NT, Intel,
    RISC, Etc.).

  •  Medios de comunicación ( Redes,
    Protocolos, Dispositivos, Etc.).

  •  Capacidad de Procesamiento en
    paralelo.

  •  Dispersión y
    parcialidad. 

Factores que han afectado el desarrollo de los
Sistemas Distribuidos
.

  • Avances Tecnológicos.

  • Nuevos requerimientos.

  • Globalización

  •  Aspectos Externos ( Culturales,
    Políticos, Económicos ).

  •  Integración.

 

Monografias.com

Ventajas y Desventajas de los Sistemas
Distribuidos

Ventajas:

 Procesadores más poderosos y a menos
costos

  • Desarrollo de Estaciones con más
    capacidades

  • Las estaciones satisfacen las necesidades de los
    usuarios.

  • Uso de nuevas interfaces.

 Avances en la Tecnología de
Comunicaciones.

  • Disponibilidad de elementos de
    Comunicación.

  • Desarrollo de nuevas técnicas.

 Compartición de Recursos.

  • Dispositivos (Hardware).

  • Programas (Software).

 Eficiencia y Flexibilidad.

  • Respuesta Rápida.

  • Ejecución Concurrente de procesos (En varias
    computadoras).

  • Empleo de técnicas de procesamiento
    distribuido.

 Disponibilidad y Confiabilidad.

  • Sistema poco propenso a fallas (Si un componente no
    afecta a la disponibilidad del sistema).

  • Mayores servicios que elevan la funcionalidad (
    Monitoreo, Telecontrol, Correo Eléctrico,
    Etc.).

 Crecimiento Modular.

  • Es inherente al crecimiento.

  • Inclusión rápida de nuevos
    recursos.

  • Los recursos actuales no afectan.

 Desventajas:

  •  Requerimientos de mayores controles de
    procesamiento.

  •  Velocidad de propagación de
    información ( Muy lenta a veces).

  •  Servicios de replicación de datos y
    servicios con posibilidades de fallas.

  •  Mayores controles de acceso y proceso (
    Commit ).

  •  Administración más
    compleja.

  •  Costos.

Categorías de los sistemas
Distribuidos.

 Modelo de Minicomputadoras.

Varias computadoras que soportan diferentes usuarios
cada una y provee acceso a recursos remotos.

Monografias.com

  • Por lo menos un usuario por cada computadora ( CPU
    < Usuarios ).

  Modelo de Estación de
Trabajo.

Varias estaciones (Por lo general cientos), donde cada
usuario cuenta con una estación de trabajo (ET) y realiza
en ella todo su trabajo. Requiere de un Sistema Operativo que
soporte funciones de acceso y control remoto.

  • Un microprocesador por cada usuario ( CPU =
    Usuarios).

  • Las estaciones de trabajo cuentan con Interfaces
    Gráficas, CPU potentes y Memorias propias.

Monografias.com

 

 Modelo microprocesadores en
Pooling.

Trata de utilizar uno o más microprocesadores
dependiendo de las necesidades de los usuarios.

Primero los procesadores completan su tarea y
posteriormente regresan a esperar una nueva
asignación.

  • El número de microprocesadores normalmente es
    mayor a uno por usuario ( CPU > Usuarios ).

Monografias.com

Sistema Operativo Distribuido

Extiende el concepto de administración de
recursos e interfaces con el usuario hacia computadoras de
memoria compartida para formar un sistema Operativo Distribuido,
el cual consiste en varias computadoras autónomas
conectadas por una red de comunicaciones.

Características:

  •  Para cada uno de los usuarios debe de ser
    similar al trabajo en el Sistema Centralizado.

  •  Se ejecuta en múltiples
    Computadoras.

  •  Tiene varias copias del mismo Sistema
    Operativo o de diferentes Sistemas Operativos que proveen los
    mismos servicios.

  •  Transparencia (El uso de múltiples
    procesadores y el acceso remoto debe de ser
    invisible)

Monografias.com

Modelo de Construcción.

 Cliente/Servidor

Monografias.com

Arquitectura Cliente/Servidor:

Una arquitectura es un conjunto de reglas, definiciones,
términos y modelos que se emplean para producir un
producto.

La arquitectura Cliente/Servidor agrupa conjuntos de
elementos que efectúan procesos distribuidos y computo
cooperativo.

Monografias.com

Beneficios:

  • Mejor aprovechamiento de la potencia de
    cómputo (Reparte el trabajo).

  • Reduce el tráfico en la Red. (Viajan
    requerimientos).

  • Opera bajo sistemas abiertos.

  • Permite el uso de interfaces gráficas
    variadas y versátiles.

Segmentación de Aplicaciones:

Monografias.com

 ¿Qué es el
Cliente?

Conjunto de Software y Hardware que invoca los servicios
de uno o varios servidores.

Características:

  • El Cliente oculta al Servidor y la Red.

  • Detecta e intercepta peticiones de otras
    aplicaciones y puede redireccionarlas.

  • Dedicado a la cesión del usuario (
    Inicia…Termina ).

  • El método más común por el que
    se solicitan los servicios es a través de RPC (Remote
    Procedure Calls).

Funciones Comunes del Cliente:

  • Mantener y procesar todo el dialogo con el
    usuario.

  • Manejo de pantallas.

  • Menús e interpretación de
    comandos.

  • Entrada de datos y validación.

  • Procesamiento de ayudas.

  • Recuperación de errores.

  •  ¿Qué es el
    Servidor?

    Conjunto de Hardware y Software que responde a los
    requerimientos de un cliente.

    Tipos Comunes de Servidores:

    • Servidor de Archivos (FTP, Novell).

    • Servidor de Bases de Datos (SQL, CBASE, ORACLE,
      INFORMIX).

    • Servidor de Comunicaciones

    • Servidor de Impresión.

    • Servidor de Terminal.

    • Servidor de Aplicaciones (Windows NT,
      Novell).

    Funciones Comunes del Servidor:

    • Acceso, almacenamiento y organización de
      datos.

    • Actualización de datos
      almacenados.

    • Administración de recursos
      compartidos.

    • Ejecución de toda la lógica para
      procesar una transacción.

    • Procesamiento común de elementos del
      servidor (Datos, capacidad de CPU, almacenamiento en
      disco, capacidad de impresión, manejo de memoria y
      comunicación).

      Red de
    comunicación.

    Es todo aquel conjunto de elementos basados en
    hardware y software que permite establecer un enlace entre
    los clientes y los servidores, se clasifican por su
    tamaño LAN, MAN y WAN.

    Características de la
    comunicación:

    • A través de este medio, el cliente debe
      localizar e iniciar la comunicación con el
      servidor.

    • No se utiliza la metodología de
      compartición de archivos, ya que todos los accesos
      a la información se llevan a cabo a través
      de peticiones por medio de
      comunicación.

    • Debido a que los programas de manejo y control
      de información ( Archivos y bases de datos solo se
      envían y reciben los resultados de las operaciones
      (Tráfico igual a Datos leídos o
      escritos).

    • Debido a la flexibilidad de establecer sesiones
      con múltiples servidores y manejo de
      información en varias bases de datos (en sitios
      remotos es requerido el uso de estilos transaccionales y
      cooperativos).

      Estilo de Bases de Datos con
    arquitectura Cliente/Servidor.

    Monografias.com

     Modelos o Técnicas de Procesamiento
    y Protocolos comúnmente utilizados.

    • Llamadas a procedimientos remotos
      (RPC).

    • Interacciones SQL Cliente/Servidor.

    • Memoria compartida.

    • Paso de Mensajes.

    • SPX/IPX

    • NETBEUI (NETBIOS)

    • NAME PIPES

    • TCP/IP

    • UDP

    • SOCKETS

    Monografias.com

    Distribución entre Cliente y
    Servidor.

    Dentro de los procesos que son manejados en una
    arquitectura Cliente/Servidor, se tiene 3 elementos
    básicos que deben de distribuirse entre el cliente y
    el servidor, estos elementos son:

    • El manejo de Datos.

    • La aplicación.

    • La presentación.

    Monografias.com

     

     

    Autor:

    Zósimo

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter